/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ComponenteDatos;

import ComponenteClase.Venta;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author MIGUEL ARANA
 */
public interface VentaDAO {
    
    //private static ClienteDAO clienteDao = new BDCliente();
    
    public  void insertarVenta(Venta v) throws SQLException;

    public Venta buscarVenta(int codigo) throws SQLException;

    /*public static boolean eliminarCompra(int codcateg) throws SQLException {
    Connection cnn = BD.getConnection();
    PreparedStatement ps = null;
    ps = cnn.prepareStatement("delete from COMPRA WHERE idcompra=?");
    ps.setInt(1, codcateg);
    int rowsUpdated = ps.executeUpdate();
    cnn.close();
    ps.close();
    if (rowsUpdated > 0) {
    return true;
    } else {
    return false;
    }
    }*/
    public List<Venta> mostrarVenta() throws SQLException;

    public List<Venta> listarVentaPorCodigo(String codigo);
    
    public List<Venta> listarVentaPorCliente(String cli);
    
    public List<Venta> listarVentaPorEmpleado(String nompersonal);
    
    public List<Venta> listarVentaPorEstado(String estado);
    
    public List<Venta> listarVentaPorTipoDocumento(String td);
    
    /**
     filtado para buscr venta en el formulario pago pendiente ...
     */ //select nVenCodigo,nCliCodigo,cVenFecha,nVenMontoTotal,nTipDocumento from venta where nCliCodigo=1 and cFormapago='CREDITO' and cVenFecha like '%2011-11-20%';
    
    public List<Venta> listarVentaPorCodigoPagoP(int nCliCodigo,String codigo);
    
    public List<Venta> listarVentaPorFechaPagoP(int nCliCodigo,String fecha);
    
    //-------------------------------------------------------------
    public List<Venta> listarVentaPorRangoFecha(String fechaA,String fechaB);
    
    public List<Venta> listarVentaPorFecha(String fecha);
    
    public List<Venta> listarCliente(String atributo, String parametro, String comparador);
    
    public List<Venta> listarEmpleado(String atributo, String parametro, String comparador);
    
    public List<Venta> listarTipo(String atributo, String parametro, String comparador);
    
    public List<Venta> listar(String atributo, String parametro, String comparador);
    //---------------------------------------------------------------------------------------------
    public List<Venta> listarVentaNombreCliente(String nomcliente);
    
    public List<Venta> listarVentaTipoDocumento(String tipodocumento);
    
    public List<Venta> consultarSQL(String sql);    
    
}